#ifndef VECTOR_H
#define VECTOR_H


#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <stdbool.h>


typedef struct {
  double x;
  double y;
  double z;
} Vector;

double dot(Vector v1, Vector v2) ;
double magnitude(Vector v1) ;
Vector add(Vector v1, Vector v2) ;
Vector sub(Vector v1, Vector v2) ;
Vector scale(Vector v1, double f) ;
Vector cross(Vector v1, Vector v2) ;
Vector normalized(Vector v1);
Vector negated(Vector v1);
bool equal(Vector v1, Vector v2);
Vector reflectThru(Vector v, Vector n);

#endif
